<?php 
// /*try - catch 捕获系统错误，因原始系统报错不好看，把要执行的$db放在try里面，若在执行中有错误，可以通过catch捕捉并放在$e里并输出，若没错就不走catch*/

// try{
// 	$db = new PDO("mysql:host=127.0.0.1;dbname=school;charset=utf8","root","");
// 	/*var_dump($db->errorCode());*/
// }catch(PDOException  $e ){
// 	echo "Error: ".$e;exit;
// }

// $sql = "select * from stu limit 20";

// /*$db里面的query方法 结果集放在res对象里*/
// $res = $db->query($sql);

// //执行正确返回对象数组，错误返回false
// if (!$res) {
//      	echo "执行失败错误代码".$db->errorCode()."错误信息".$db->errorInfo()[2];
//      	//$db->errorInfo()执行后是数组，返回数组第二项
//      }     

// var_dump($res);


// //用户列表 = 结果集res对象里面的fet..方法           
// //$userlist = $res->fetchAll(PDO::FETCH_ASSOC);
// //只得到关联方式的数据
// //var_dump($userlist);


// /*->fetchAll(PDO::FETCH_NUM)得到索引表示记录
// ->fetchAll(PDO::FETCH_BOTH)得到关联与索引表示的数据
// ->fetchAll(PDO::FETCH_OBJ)得到以对象形式表示的数据
// ->fetch($type)从结果集中获取下一行*/






//2017-07-22 
//try:尝试  catch:捕获
try{
	$db = new PDO("mysql:host=127.0.0.1;dbname=sc;charset=utf8","root","");
}catch(PDOException  $e ){
	echo "Error: ".$e;exit;
}

$sql = "select * from stu";

//执行增删改若成功则返回对象,对象在if判断是为真   反之返回false
//$sql = "insert into stu (name,sex,age) values ('小高','男','17')";

$res = $db->query($sql);

if (!$res) {
	echo "错误代码: ".$db->errorCode()." 错误信息: ".$db->errorInfo()[2];
}
var_dump($res);

// $sql1 = "insert into stu (name,sex,age) values ('小华','男','17')";
// $res = $db->exec($sql1);
// var_dump($res); //int 1

// $info = $res->fetchAll(PDO::FETCH_ASSOC);
// var_dump($info);



/*  通过绑定的 PHP 变量执行一条预处理语句*/
	/*执行一条使用问号占位符的预处理语句*/
	// $calories = 150;
	// $colour = 'red';
	// $sth = $dbh->prepare('SELECT name, colour, calories
	//     FROM fruit
	//     WHERE calories < ? AND colour = ?');
	// $sth->bindParam(1, $calories, PDO::PARAM_INT);
	// $sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
	// $sth->execute();


 ?>